package com.doge.mapper;

import com.doge.bean.pojo.order.Order;
import com.doge.bean.pojo.order.OrderExample;
import java.util.List;

import com.doge.bean.pojo.user.User;
import com.doge.bean.vo.stat.OrderRowsDTO;
import com.doge.bean.vo.stat.StatOrderVO;
import org.apache.ibatis.annotations.Param;

public interface OrderMapper {
    long countByExample(OrderExample example);

    int deleteByExample(OrderExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Order record);

    int insertSelective(Order record);

    List<Order> selectByExample(OrderExample example);

    Order selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByExample(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);

    StatOrderVO selectVOFromOrder(Order order);

    Integer unPaidByUser(User user);

    Integer unRecvByUser(User user);

    Integer unShipByUser(User user);

    Order selectByUser(User user);

}